#ifndef __VOLUMEMODELING_H__
#define __VOLUMEMODELING_H__

#include "ModelingBase.h"
#include "..\common\MultiArray.h"
class VolumeModeling :
	public ModelingBase
{
public:
	VolumeModeling(void);
	~VolumeModeling(void);

	VolumeModeling(LPCTSTR lpszPathName);
	void CreateKnotCtrPts(float* box0, float* voxelSize, int* deg, bool endInterpolated, int* knotN, float* knotarray[3], int* ctrPN, float* ctrPt[3]);
	void CreateKnotCtrPtsFromSegBox(float* box0, float* voxelSize, int* segN, int* deg, bool endInterpolated, int* knotN, float* knotarray[3], int* ctrPN, float* ctrPt[3]);
	void CreateKnotCtrPtsFromCtrBox(int* ctrPN, int* deg, bool endInterpolated, int* knotN, float* knotarray[3], float* ctrPt[3]);

	void SaveVolData(LPCTSTR lpszPathName, unsigned int COMPONENTS);

public:
	void ResetSampleRate();


protected:
	MultiArr<double>* pVol;
	MultiArr<float>* pVolCompress;
	int sampleRate;
};


#include "..\file\ObjData.h"
class MeshModeling :
	public VolumeModeling
{
public:
	MeshModeling(void);
	~MeshModeling(void);

	MeshModeling(LPCTSTR lpszPathName);

public:

private:
	ObjData* pMesh;
};

#endif